export default interface IPairTxData {
    swaps: ISwap[]
    mints: IMint[]
    burns: IBurn[]
    plugins?: string[]
}

export interface IToken {
    symbol: string
}

export interface IPair {
    token0: IToken,
    token1: IToken,
    id: string,
}

export interface ITransaction {
    timestamp: number,
    id: string,
}

export interface IBasicTx {
    pair: IPair,
    transaction: ITransaction,

    swapName?: string,
    tokenCol0?: string,
    tokenCol1?: string,
    account?: string,
    to?: string,
    sender?: string,
    outerAccount?: boolean,
    time?: string,
    isContract?: boolean,
    isBlacklist?: boolean,
}

export interface ISwap extends IBasicTx {
    amount0In: string,
    amount1In: string,
    amount0Out: string,
    amount1Out: string,
}

export interface IMint extends IBasicTx {
    amount0: string,
    amount1: string,
}

export interface IBurn extends IBasicTx {
    amount0: string,
    amount1: string,
}